package com.dx.financehy.utils;

import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.dx.financehy.utils.idwork.IDWork;

import java.util.Date;

/**
 * <pre>
 * @描述：编号生成
 * @作者：CLD
 * @创建时间：2020-09-18 20:21
 * </pre>
 **/
public class CodeGenUtil {

    /**
     * 生成唯一编码
     *
     * @return
     */
    public static String gen() {
        return String.valueOf(IDWork.getSequenceId());
    }

    /**
     * 生成编号，prefix + 编号串
     *
     * @param prefix
     * @return
     */
    public static String gen(String prefix) {
        if (StrUtil.isEmpty(prefix)) {
            prefix = "NO";
        }
        return prefix + IDWork.getSequenceId();
    }


    /**
     * 带有日期的编号：prefix + yyyyMMdd + 编号串
     *
     * @param prefix 前缀
     * @return
     */
    public static String genWithDate(String prefix) {
        if (prefix == null) {
            prefix = "";
        }
        String yyyyMMdd = DateUtil.format(new Date(), "yyyyMMdd");

        return prefix + yyyyMMdd + IDWork.getSequenceId();
    }

}
